<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FLITr: flitr::FFmpegWriter Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FLITr
   &#160;<span id="projectnumber">1.x</span>
   </div>
   <div id="projectbrief">Framework for Live Image Transformation.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classflitr_1_1_f_fmpeg_writer.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classflitr_1_1_f_fmpeg_writer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">flitr::FFmpegWriter Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="ffmpeg__writer_8h_source.html">ffmpeg_writer.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for flitr::FFmpegWriter:</div>
<div class="dyncontent">
<div class="center"><img src="classflitr_1_1_f_fmpeg_writer__coll__graph.png" border="0" usemap="#flitr_1_1_f_fmpeg_writer_coll__map" alt="Collaboration graph"/></div>
<map name="flitr_1_1_f_fmpeg_writer_coll__map" id="flitr_1_1_f_fmpeg_writer_coll__map">
<area shape="rect" id="node2" href="classflitr_1_1_image_format.html" title="{flitr::ImageFormat\n|&#45; Width_\l&#45; Height_\l&#45; PixelFormat_\l&#45; BytesPerPixel_\l&#45; ComponentsPerPixel_\l|+ ImageFormat()\l+ getWidth()\l+ getHeight()\l+ getPixelFormat()\l+ getComponentsPerPixel()\l+ getBytesPerPixel()\l+ getBytesPerImage()\l+ setWidth()\l+ setHeight()\l+ setPixelFormat()\l&#45; setBytesPerPixel()\l&#45; setComponentsPerPixel()\l}" alt="" coords="5,6,187,351"/></map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a25759e64b010b266cee27b2f7fa6c338"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a25759e64b010b266cee27b2f7fa6c338">FFmpegWriter</a> (std::string filename, const <a class="el" href="classflitr_1_1_image_format.html">ImageFormat</a> &amp;image_format, const uint32_t frame_rate=<a class="el" href="ffmpeg__utils_8h.html#a688a89aeb3817bf9f41cf95870864498">FLITR_DEFAULT_VIDEO_FRAME_RATE</a>, <a class="el" href="namespaceflitr.html#af8d7be93e1289330f6daf03193a8edba">VideoContainer</a> container=<a class="el" href="namespaceflitr.html#af8d7be93e1289330f6daf03193a8edbaa61972ff35efb866168daecc5240b8830">FLITR_ANY_CONTAINER</a>, <a class="el" href="namespaceflitr.html#a73acd9d15e5af340fa8bc3c507f2b493">VideoCodec</a> codec=<a class="el" href="namespaceflitr.html#a73acd9d15e5af340fa8bc3c507f2b493add788b09c6d283c9d4d80b260a1088e9">FLITR_RAWVIDEO_CODEC</a>, int32_t bit_rate=-1)</td></tr>
<tr class="memitem:a1ced1693723b252d09e8aeafdb1d3f3b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a1ced1693723b252d09e8aeafdb1d3f3b">~FFmpegWriter</a> ()</td></tr>
<tr class="memitem:a49b9bad2025d723d5ed3a03e990e000c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a49b9bad2025d723d5ed3a03e990e000c">writeVideoFrame</a> (uint8_t *in_buf)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a891626553b3336d19380f82a9471130f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a891626553b3336d19380f82a9471130f">openVideoFile</a> ()</td></tr>
<tr class="memdesc:a891626553b3336d19380f82a9471130f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open video file and prepare codec.  <a href="#a891626553b3336d19380f82a9471130f"></a><br/></td></tr>
<tr class="memitem:a4697d02035d4fa89b70d7dfbf24b2033"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a4697d02035d4fa89b70d7dfbf24b2033">closeVideoFile</a> ()</td></tr>
<tr class="memdesc:a4697d02035d4fa89b70d7dfbf24b2033"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close video file.  <a href="#a4697d02035d4fa89b70d7dfbf24b2033"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a12565c94126eb0b28ad2123273a1676a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceflitr.html#af8d7be93e1289330f6daf03193a8edba">VideoContainer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a12565c94126eb0b28ad2123273a1676a">Container_</a></td></tr>
<tr class="memitem:aaf4a8dacf7ee2a01980ac136d2f2141d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceflitr.html#a73acd9d15e5af340fa8bc3c507f2b493">VideoCodec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#aaf4a8dacf7ee2a01980ac136d2f2141d">Codec_</a></td></tr>
<tr class="memitem:a65e51b8206413f84e6d1592ccc804d56"><td class="memItemLeft" align="right" valign="top">AVFormatContext *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a65e51b8206413f84e6d1592ccc804d56">FormatContext_</a></td></tr>
<tr class="memitem:adc9b0359d8353701d511b306ccfbc6e6"><td class="memItemLeft" align="right" valign="top">AVStream *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#adc9b0359d8353701d511b306ccfbc6e6">VideoStream_</a></td></tr>
<tr class="memitem:a7ccf14b2379742f3a2564ddb759cd944"><td class="memItemLeft" align="right" valign="top">AVCodec *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a7ccf14b2379742f3a2564ddb759cd944">AVCodec_</a></td></tr>
<tr class="memitem:a1d9da2fd62475a69416f90a24f813a63"><td class="memItemLeft" align="right" valign="top">AVCodecContext *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a1d9da2fd62475a69416f90a24f813a63">AVCodecContext_</a></td></tr>
<tr class="memitem:a78543ce505f4c85c9174cb92106f7b60"><td class="memItemLeft" align="right" valign="top">AVFrame *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a78543ce505f4c85c9174cb92106f7b60">InputFrame_</a></td></tr>
<tr class="memdesc:a78543ce505f4c85c9174cb92106f7b60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the input frame.  <a href="#a78543ce505f4c85c9174cb92106f7b60"></a><br/></td></tr>
<tr class="memitem:a46b79d4fd6dc379b09d56d9b3f2c412a"><td class="memItemLeft" align="right" valign="top">AVPixelFormat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a46b79d4fd6dc379b09d56d9b3f2c412a">InputFrameFormat_</a></td></tr>
<tr class="memitem:a2c565a1e6529c85f2d451f685b706246"><td class="memItemLeft" align="right" valign="top">AVFrame *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a2c565a1e6529c85f2d451f685b706246">SaveFrame_</a></td></tr>
<tr class="memdesc:a2c565a1e6529c85f2d451f685b706246"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the frame converted to the format required by the codec.  <a href="#a2c565a1e6529c85f2d451f685b706246"></a><br/></td></tr>
<tr class="memitem:a7cc3f41f62a529a1880c8d58e5d09a0c"><td class="memItemLeft" align="right" valign="top">AVPixelFormat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a7cc3f41f62a529a1880c8d58e5d09a0c">SaveFrameFormat_</a></td></tr>
<tr class="memitem:a6966802a55e8761f37987ead74fb45a3"><td class="memItemLeft" align="right" valign="top">AVOutputFormat *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a6966802a55e8761f37987ead74fb45a3">OutputFormat_</a></td></tr>
<tr class="memdesc:a6966802a55e8761f37987ead74fb45a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format of the output video.  <a href="#a6966802a55e8761f37987ead74fb45a3"></a><br/></td></tr>
<tr class="memitem:ae13d6f0a9d453b0ddbf3c25642a6ecdf"><td class="memItemLeft" align="right" valign="top">struct SwsContext *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#ae13d6f0a9d453b0ddbf3c25642a6ecdf">ConvertToSaveCtx_</a></td></tr>
<tr class="memitem:a49350ff7929832e05b5707fce8aa1206"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classflitr_1_1_image_format.html">ImageFormat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a49350ff7929832e05b5707fce8aa1206">ImageFormat_</a></td></tr>
<tr class="memitem:a6698c7e1ace07f88e3bf4025082efda7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a6698c7e1ace07f88e3bf4025082efda7">SaveFileName_</a></td></tr>
<tr class="memitem:a8bfde0df9b3d89d02f8813ae77e249bd"><td class="memItemLeft" align="right" valign="top">AVRational&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a8bfde0df9b3d89d02f8813ae77e249bd">FrameRate_</a></td></tr>
<tr class="memitem:acaa7090e525708deeaaccdcf896e6292"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#acaa7090e525708deeaaccdcf896e6292">WrittenFrameCount_</a></td></tr>
<tr class="memdesc:acaa7090e525708deeaaccdcf896e6292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the number of frames written to disk.  <a href="#acaa7090e525708deeaaccdcf896e6292"></a><br/></td></tr>
<tr class="memitem:aaee6049435ea8ac83504837b264a8a9c"><td class="memItemLeft" align="right" valign="top">std::tr1::shared_ptr<br class="typebreak"/>
&lt; <a class="el" href="classflitr_1_1_stats_collector.html">StatsCollector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#aaee6049435ea8ac83504837b264a8a9c">WriteFrameStats_</a></td></tr>
<tr class="memitem:a2881314ec68555d6cd653d967e313b3f"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a2881314ec68555d6cd653d967e313b3f">VideoEncodeBuffer_</a></td></tr>
<tr class="memitem:a80bc05cb484b247f76451a49b0f8290c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html#a80bc05cb484b247f76451a49b0f8290c">VideoEncodeBufferSize_</a></td></tr>
</table>
<h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a25759e64b010b266cee27b2f7fa6c338"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FFmpegWriter::FFmpegWriter </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classflitr_1_1_image_format.html">ImageFormat</a> &amp;&#160;</td>
          <td class="paramname"><em>image_format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint32_t&#160;</td>
          <td class="paramname"><em>frame_rate</em> = <code><a class="el" href="ffmpeg__utils_8h.html#a688a89aeb3817bf9f41cf95870864498">FLITR_DEFAULT_VIDEO_FRAME_RATE</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceflitr.html#af8d7be93e1289330f6daf03193a8edba">VideoContainer</a>&#160;</td>
          <td class="paramname"><em>container</em> = <code><a class="el" href="namespaceflitr.html#af8d7be93e1289330f6daf03193a8edbaa61972ff35efb866168daecc5240b8830">FLITR_ANY_CONTAINER</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceflitr.html#a73acd9d15e5af340fa8bc3c507f2b493">VideoCodec</a>&#160;</td>
          <td class="paramname"><em>codec</em> = <code><a class="el" href="namespaceflitr.html#a73acd9d15e5af340fa8bc3c507f2b493add788b09c6d283c9d4d80b260a1088e9">FLITR_RAWVIDEO_CODEC</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>bit_rate</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classflitr_1_1_f_fmpeg_writer_a25759e64b010b266cee27b2f7fa6c338_cgraph.png" border="0" usemap="#classflitr_1_1_f_fmpeg_writer_a25759e64b010b266cee27b2f7fa6c338_cgraph" alt=""/></div>
<map name="classflitr_1_1_f_fmpeg_writer_a25759e64b010b266cee27b2f7fa6c338_cgraph" id="classflitr_1_1_f_fmpeg_writer_a25759e64b010b266cee27b2f7fa6c338_cgraph">
<area shape="rect" id="node3" href="classflitr_1_1_image_format.html#a750b9204874a95e9f6b958df3806e0bf" title="flitr::ImageFormat\l::getWidth" alt="" coords="219,5,344,51"/><area shape="rect" id="node5" href="classflitr_1_1_image_format.html#a52ec5edbc27c23acc188e5a85ce4690a" title="flitr::ImageFormat\l::getHeight" alt="" coords="219,74,344,121"/><area shape="rect" id="node7" href="namespaceflitr.html#a4e419afa3da6c4d4913f54515dafdf7a" title="flitr::PixelFormatFLITrTo\lFFmpeg" alt="" coords="200,143,363,190"/><area shape="rect" id="node9" href="classflitr_1_1_image_format.html#aa020f1e1e2eebb2636b3c78e4c7bdb33" title="flitr::ImageFormat\l::getPixelFormat" alt="" coords="219,213,344,259"/><area shape="rect" id="node11" href="namespaceflitr.html#ade64a6ebeb22a24d7202a8c9cd8dceb2" title="Actually log." alt="" coords="223,283,340,312"/><area shape="rect" id="node20" href="namespaceflitr.html#ab8c99780fb062a99dcf4c62748ef5c88" title="Get the current flags." alt="" coords="185,336,377,365"/><area shape="rect" id="node23" href="namespaceflitr.html#a041bb1e4e5d19f66fe6e008b83750a95" title="flitr::allocFFmpegFrame" alt="" coords="201,389,361,419"/><area shape="rect" id="node13" href="namespaceflitr.html#ab607eb6aa8d6055d192b78f2d635c2d8" title="Init the flags." alt="" coords="427,309,565,339"/><area shape="rect" id="node15" href="log__message_8cpp.html#a60c5c2565f195f3f6e4aefd629a74d26" title="setInEnvironment" alt="" coords="651,256,773,285"/><area shape="rect" id="node17" href="namespaceflitr.html#ab8702f45e18dd67adc18d12db04b4853" title="Add flags." alt="" coords="615,309,809,339"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a1ced1693723b252d09e8aeafdb1d3f3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FFmpegWriter::~FFmpegWriter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classflitr_1_1_f_fmpeg_writer_a1ced1693723b252d09e8aeafdb1d3f3b_cgraph.png" border="0" usemap="#classflitr_1_1_f_fmpeg_writer_a1ced1693723b252d09e8aeafdb1d3f3b_cgraph" alt=""/></div>
<map name="classflitr_1_1_f_fmpeg_writer_a1ced1693723b252d09e8aeafdb1d3f3b_cgraph" id="classflitr_1_1_f_fmpeg_writer_a1ced1693723b252d09e8aeafdb1d3f3b_cgraph">
<area shape="rect" id="node3" href="classflitr_1_1_f_fmpeg_writer.html#a4697d02035d4fa89b70d7dfbf24b2033" title="Close video file." alt="" coords="184,5,315,51"/></map>
</div>
</p>

</div>
</div>
<h2>Member Function Documentation</h2>
<a class="anchor" id="a4697d02035d4fa89b70d7dfbf24b2033"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool FFmpegWriter::closeVideoFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Close video file. </p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classflitr_1_1_f_fmpeg_writer_a4697d02035d4fa89b70d7dfbf24b2033_icgraph.png" border="0" usemap="#classflitr_1_1_f_fmpeg_writer_a4697d02035d4fa89b70d7dfbf24b2033_icgraph" alt=""/></div>
<map name="classflitr_1_1_f_fmpeg_writer_a4697d02035d4fa89b70d7dfbf24b2033_icgraph" id="classflitr_1_1_f_fmpeg_writer_a4697d02035d4fa89b70d7dfbf24b2033_icgraph">
<area shape="rect" id="node3" href="classflitr_1_1_f_fmpeg_writer.html#a1ced1693723b252d09e8aeafdb1d3f3b" title="flitr::FFmpegWriter\l::~FFmpegWriter" alt="" coords="184,5,315,51"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a891626553b3336d19380f82a9471130f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool flitr::FFmpegWriter::openVideoFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Open video file and prepare codec. </p>

</div>
</div>
<a class="anchor" id="a49b9bad2025d723d5ed3a03e990e000c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool FFmpegWriter::writeVideoFrame </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>in_buf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classflitr_1_1_f_fmpeg_writer_a49b9bad2025d723d5ed3a03e990e000c_cgraph.png" border="0" usemap="#classflitr_1_1_f_fmpeg_writer_a49b9bad2025d723d5ed3a03e990e000c_cgraph" alt=""/></div>
<map name="classflitr_1_1_f_fmpeg_writer_a49b9bad2025d723d5ed3a03e990e000c_cgraph" id="classflitr_1_1_f_fmpeg_writer_a49b9bad2025d723d5ed3a03e990e000c_cgraph">
<area shape="rect" id="node3" href="classflitr_1_1_image_format.html#a750b9204874a95e9f6b958df3806e0bf" title="flitr::ImageFormat\l::getWidth" alt="" coords="184,5,309,51"/><area shape="rect" id="node5" href="classflitr_1_1_image_format.html#a52ec5edbc27c23acc188e5a85ce4690a" title="flitr::ImageFormat\l::getHeight" alt="" coords="184,74,309,121"/><area shape="rect" id="node7" href="namespaceflitr.html#ade64a6ebeb22a24d7202a8c9cd8dceb2" title="Actually log." alt="" coords="188,144,305,173"/><area shape="rect" id="node9" href="namespaceflitr.html#ab607eb6aa8d6055d192b78f2d635c2d8" title="Init the flags." alt="" coords="357,144,496,173"/><area shape="rect" id="node11" href="log__message_8cpp.html#a60c5c2565f195f3f6e4aefd629a74d26" title="setInEnvironment" alt="" coords="581,91,704,120"/><area shape="rect" id="node13" href="namespaceflitr.html#ab8702f45e18dd67adc18d12db04b4853" title="Add flags." alt="" coords="545,144,740,173"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classflitr_1_1_f_fmpeg_writer_a49b9bad2025d723d5ed3a03e990e000c_icgraph.png" border="0" usemap="#classflitr_1_1_f_fmpeg_writer_a49b9bad2025d723d5ed3a03e990e000c_icgraph" alt=""/></div>
<map name="classflitr_1_1_f_fmpeg_writer_a49b9bad2025d723d5ed3a03e990e000c_icgraph" id="classflitr_1_1_f_fmpeg_writer_a49b9bad2025d723d5ed3a03e990e000c_icgraph">
<area shape="rect" id="node3" href="struct_render_to_video_1_1_save_camera_post_draw_callback.html#a2f7420fd8245911dc8c7fc8d924445cf" title="RenderToVideo::SaveCamera\lPostDrawCallback::operator()" alt="" coords="185,5,380,51"/></map>
</div>
</p>

</div>
</div>
<h2>Member Data Documentation</h2>
<a class="anchor" id="a7ccf14b2379742f3a2564ddb759cd944"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVCodec* flitr::FFmpegWriter::AVCodec_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1d9da2fd62475a69416f90a24f813a63"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVCodecContext* flitr::FFmpegWriter::AVCodecContext_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aaf4a8dacf7ee2a01980ac136d2f2141d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceflitr.html#a73acd9d15e5af340fa8bc3c507f2b493">VideoCodec</a> flitr::FFmpegWriter::Codec_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a12565c94126eb0b28ad2123273a1676a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceflitr.html#af8d7be93e1289330f6daf03193a8edba">VideoContainer</a> flitr::FFmpegWriter::Container_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae13d6f0a9d453b0ddbf3c25642a6ecdf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">struct SwsContext* flitr::FFmpegWriter::ConvertToSaveCtx_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a65e51b8206413f84e6d1592ccc804d56"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVFormatContext* flitr::FFmpegWriter::FormatContext_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8bfde0df9b3d89d02f8813ae77e249bd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVRational flitr::FFmpegWriter::FrameRate_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a49350ff7929832e05b5707fce8aa1206"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classflitr_1_1_image_format.html">ImageFormat</a> flitr::FFmpegWriter::ImageFormat_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a78543ce505f4c85c9174cb92106f7b60"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVFrame* flitr::FFmpegWriter::InputFrame_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Holds the input frame. </p>

</div>
</div>
<a class="anchor" id="a46b79d4fd6dc379b09d56d9b3f2c412a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVPixelFormat flitr::FFmpegWriter::InputFrameFormat_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6966802a55e8761f37987ead74fb45a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVOutputFormat* flitr::FFmpegWriter::OutputFormat_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Format of the output video. </p>

</div>
</div>
<a class="anchor" id="a6698c7e1ace07f88e3bf4025082efda7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string flitr::FFmpegWriter::SaveFileName_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2c565a1e6529c85f2d451f685b706246"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVFrame* flitr::FFmpegWriter::SaveFrame_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Holds the frame converted to the format required by the codec. </p>

</div>
</div>
<a class="anchor" id="a7cc3f41f62a529a1880c8d58e5d09a0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVPixelFormat flitr::FFmpegWriter::SaveFrameFormat_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2881314ec68555d6cd653d967e313b3f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* flitr::FFmpegWriter::VideoEncodeBuffer_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a80bc05cb484b247f76451a49b0f8290c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t flitr::FFmpegWriter::VideoEncodeBufferSize_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adc9b0359d8353701d511b306ccfbc6e6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">AVStream* flitr::FFmpegWriter::VideoStream_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aaee6049435ea8ac83504837b264a8a9c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::tr1::shared_ptr&lt;<a class="el" href="classflitr_1_1_stats_collector.html">StatsCollector</a>&gt; flitr::FFmpegWriter::WriteFrameStats_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acaa7090e525708deeaaccdcf896e6292"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flitr::FFmpegWriter::WrittenFrameCount_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Holds the number of frames written to disk. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/flitr/<a class="el" href="ffmpeg__writer_8h_source.html">ffmpeg_writer.h</a></li>
<li>src/flitr/<a class="el" href="ffmpeg__writer_8cpp.html">ffmpeg_writer.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceflitr.html">flitr</a></li><li class="navelem"><a class="el" href="classflitr_1_1_f_fmpeg_writer.html">FFmpegWriter</a></li>
    <li class="footer">Generated on Thu Dec 6 2012 09:15:45 for FLITr by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
  </ul>
</div>
</body>
</html>
